package com.mxw.算法之美.a8散列表;

/**
 * @author Administrator
 * @create 2024/7/27 14:53
 */
public class a01Hash {

    /**
        散列冲突：
          1、开放寻址法（出现散列冲突，重新探测一个空闲位置，将其插入。） 适合数据量比较小，装载银子小的时候。ThreadLocalMap
             探测方法：a.线性探测，计算存储位置，位置被占用，从当前位置开始，依次往后查找，如果到最后都没有，再重头开始找到空闲位置。
                     b.二次探测，
          2、链表法：每个元素会有一个链表存储。 LinkedHashMap

        散列函数：
            尽可能随机并且均匀分布

        装载因子： 越大，散列表中的元素越多，空闲位置越少，冲突概率大。
        避免低效扩容： 可以将扩容操作穿插在插入操作的过程中，分批完成。当装载因子触达阈值之后，申请新空间，但不将老的数据搬移到新散列表中，当新数据要插入，将新数据插入新散列表中，并且从老的散列表中拿一个数据放入到新散列表中。
                    经过多次插入操作之后，老的散列表中的数据一点全部搬移到新的散列表中。

     */
}
